Skip to content

Add dependencies and refactor buffer methods in multiple classes - #29

Merged
eloise-nebula merged 5 commits into
slaclab:mainfrom
kabanaty:new-buffer
Jun 1, 2026
Merged

Add dependencies and refactor buffer methods in multiple classes#29
eloise-nebula merged 5 commits into
slaclab:mainfrom
kabanaty:new-buffer

Conversation

@kabanaty

Copy link
Copy Markdown
Collaborator

This pull request modernizes how device classes interact with timing buffers and refactors the use of the LazyPV class. The main improvements are the adoption of the new Buffer interface from slac_timing, the use of LazyPV from slac_tools instead of a local implementation, and updates to dependencies to support these changes.

Buffer interface modernization:

  • All device classes (bpm.py, lblm.py, pmt.py, wire.py) now use the new Buffer interface from slac_timing for timing data retrieval, replacing previous custom buffer logic and error handling. This results in cleaner and more consistent buffer access methods.

Refactoring and dependency updates:

  • The local LazyPV implementation in device.py is removed in favor of importing LazyPV from the new slac_tools dependency, simplifying code maintenance and ensuring consistency across projects.
  • The pyproject.toml dependencies are updated to include both slac-tools and slac-timing, enabling the use of the new interfaces and utilities.

Test updates:

  • The patch target for mocking the PV class in test_wire.py is updated to reflect the move to slac_tools, ensuring tests continue to mock the correct class.

Comment thread slac_devices/__init__.py
@kabanaty
kabanaty marked this pull request as ready for review May 28, 2026 18:55
@eloise-nebula
eloise-nebula merged commit f2cc160 into slaclab:main Jun 1, 2026
3 of 12 checks passed
@kabanaty
kabanaty deleted the new-buffer branch July 27, 2026 17:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants